/** @file WikiStorage.h
	@brief Definition of WikiStorage_t.
*/

#ifndef __wikistorage_h__
#define __wikistorage_h__

#include "FsStorage.h"

/************************************************
 * @brief class WikiStorage_t.
 * 
 * Simplify interface for storage access.
 ************************************************/
class WikiStorage_t : public FsStorage_t {

public:
		/// @brief Constructor.
		/// @note Exception description look at FsStorage_t.
		WikiStorage_t(const char * _options) throw(std::bad_alloc, std::io_error, std::invalid_argument) : FsStorage_t(_options) { }

		/// @brief Check key.
		bool check_key(const char *_key) const throw() {
				return check_key(_key, strlen(_key));
		}

		/// @brief Check key.
		bool check_key(const char *_key, size_t _k_l) const throw() {
				return (NULL != _key) && (0 != _k_l) && (MAX_KEY_LENGTH >= _k_l);
		}
};

#endif //__wikistorage_h__
